using System;

using SBPweb.Data;

namespace SBPweb.PROvibe.Resources.Entities
{
	public class PageModule : Entity, IPageModule
	{

		#region Private fields

		private const string FIELDNAME_PageId = "PageId";
		private const string FIELDNAME_ModuleId = "ModuleId";

		#endregion

		#region Constructor logic

		static PageModule()
		{
			RegisterEntityTypeToColumns(typeof(PageModule));
		}

		public PageModule()
            : base(null)
        {
		}

		#endregion

		#region Public property accessors

		public virtual int PageId
		{
			get
			{
				return GetValue<Int32>(FIELDNAME_PageId);
			}
			set
			{
				SetValue<Int32>(FIELDNAME_PageId, value);
			}
		}

		public virtual int ModuleId
		{
			get
			{
				return GetValue<Int32>(FIELDNAME_ModuleId);
			}
			set
			{
				SetValue<Int32>(FIELDNAME_ModuleId, value);
			}
		}

		#endregion

		#region Overridden methods

		public override object Clone()
		{
			PageModule pageModule = new PageModule();

			pageModule.PageId = this.PageId;
			pageModule.ModuleId = this.ModuleId;

			return pageModule;
		}

		#endregion

	}
}